package com.ts.api.module.api.convert.core.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 *  API字段资质映射
 */
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ApiMappings {

    /**
     *  与JSONField转换名称一致
     *  映射名称
     *  @return String
     */
    String name() default "";

    /**
     *  映射值
     *  左边对方值=右边映射我方值
     *
     *  @return String
     */
    ApiMapping[] rules();

    /**
     *  如果都成功未映射值，直接返回默认值
     *
     *  @return String
     */
    String defaultValue() default "";
}
